This invention relates to a workstation for video display to display simultaneously a plurality of video dynamic-images assigned to their respective windows on a screen while subjecting such video dynamic-images to overlap control.
For user-friendly communication, the computer industry has developed sophisticated computers called multi-media computers which introduce media with a time base, such as sounds and video movie-images (hereinafter referred to as the "video dynamic-images") in addition to conventional media in graphical or character form.
Multi-media computers are realized by means of a work-station capable of interactive processing, wherein a multiwindow management program is run so as to display within a window occupying a given area on a color display screen a video dynamic-image assigned to that window. Video dynamic-images are assigned to their respective windows, and thus if one window is obstructed by another window its video dynamic-image may also be obstructed partly or entirely by that window, and if a window is moved to a different area its video dynamic-image moves with it. Such a dynamic-image thus undergoes the same processing as a background image (hereinafter referred to as the "static-image") formed by, for example, characters and graphics.
FIG. 8 shows a conventional workstation for video display. This workstation comprises a central processing unit (CPU) 11, a data bus 12, a video signal processing circuit (VSP) 7, a static-image memory (SI) 1, a dynamic-image memory (DI) 2, a key plane memory (KEY) 34, a color look-up table (LUT) 8, a data selector 6, a digital-to-analog (D/A) converter 9, and a color display 10.
Under time-sharing/multi-task operating system control, the CPU 11 runs a multi-window management program for rendering control and interchanges data with a main storage unit and an input/output unit (for example, a hard disk unit) via the data bus 12. The static-image memory 1, the dynamic-image memory 2, and the key plane memory 34 are dual port memories having the same configuration as a conventional frame memory known as a VRAM (video RAM). Data can be written into and read from each left-hand first port while data can be read from each right-hand second port. These memories 1, 2, and 34 each have a resolution (or, a pixel capacity) of 1280 by 1024 pixels. The static-image memory 1, the dynamic-image memory 2, and the key plane memory 34 are used respectively to temporarily store 8-bit data, 24-bit data, and 1-bit data per pixel.
The VSP 7 executes an analog-to-digital (A/D) conversion to convert a video analog signal (for instance, an NTSC composite video signal) transmitted from the outside into digital data, processes them, and sends out dynamic-image data corresponding to a field image of a video picture at intervals of 1/60 second. Before this, the CPU 11 sets to the VSP 7 control commands describing the content of video signal processing. The control commands include information to be utilized for clipping a video dynamic-image out of an original image, for magnifying/reducing the video dynamic-image, for locating the video dynamic-image on the screen of the color display 10, and for controlling the contrast/brightness of the video dynamic-image. Dynamic-image data output from the VSP 7 is written into the dynamic-image memory 2 through its first port.
Via the data bus 12, static-image data of one frame is written into the static-image memory 1 by the CPU 11. Key data for selecting a video dynamic-image or a static-image per pixel is written into the key plane memory 34. In the key plane memory 34, data "1" is written to at pixel addresses corresponding to the video dynamic-image, while data "0" is written to at pixel addresses corresponding to the static-image. These items of key data per pixel are fed to the data selector 6 as a select input (S-input).
8-bit data read from the static-image memory 1 (that is, 256 individual items of color-designation data) is converted into 24-bit (color) data pixel by pixel by means of the LUT 8. The data selector 6 outputs selectively, more specifically, it outputs 24-bit (color) data from the LUT 8 based on read-out data of the static-image memory 1 if S="0"; on the other hand it outputs 24-bit (color) data from the dynamic-image memory 2 if S="1". The data output from the data selector 6 is converted by the D/A converter 9 into analog RGB video signals, and displayed by the color display 10 with a resolution of 1280 by 1024 pixels.
A read-out control signal RD in synchronization with the video signals transmitted to the color display 10 and a readout address ADDR are mutually supplied to the second port of each of the static-image memory 1, the dynamic-image memory 2, and the key plane memory 34. This will display a video dynamic-image, assigned to one window, on the screen of the color display 10. In FIG. 8, a sailing yacht is displayed. When the user executes an operation so as to change a shape of the window to which the video dynamic-image is assigned, the CPU 1 must respond immediately to such a user's operation so as to change key data in the key plane memory 34. The window of FIG. 8 is obstructed by a pull-down menu. The static-image memory 1 holds static-image data corresponding to such a pull-down menu.
A pull-down menu is pulled down or closed by means of a mouse. If a mouse is moved to close the pull-down menu of FIG. 8, this movement is transmitted to the CPU 11 as an event interrupt. The CPU 11 then runs a multi-window management program under time-sharing/multi-task operating system control. This activates a series of operations so that corresponding graphic data to the pull-down menu, stored in the static-image memory 1, is deleted and a pattern recess of data "1" in the key plane memory 34 is padded to change the pattern into a rectangle form. A mouse is also used to move, re-size, open, or close a window. Since it is easy for the CPU 11 to catch up with rather slow movements of a handheld mouse, this somehow makes it possible to offer a real time response to a mouse-activated operation, even under time-sharing/multi-task operating system control.
In multi-media applications, special techniques such as auto-zooming (automatic repetition between zoom-in and zoom-out actions) and spinning (vertical/lateral spin) are required in addition to conventional techniques used in televisions. To accomplish these special techniques, it is necessary to overwrite the key plane memory 34 very often. It is however impossible for the CPU 11 to dedicate to overwriting the key plane memory 34, under time-sharing/multi-task operating system control where a plurality of tasks are processed concurrently. As a result, if the number of tasks to be processed increases, this will disadvantageously make auto-zooming become unsmooth and broken.
Suppose that the method of FIG. 8 is employed to display simultaneously two video dynamic-images assigned to their respective windows, some modifications are required. Firstly, a first and a second VSP 7, a first and a second dynamic-image memory 2, and a first and a second key plane memory 34 are required in view of two video dynamic-images. Secondly, the data selector 6 is modified so that it selects one from among outputs of the static-image memory 1 and the two dynamic-image memories 2 according to outputs of the first and second key plane memories.
In accordance with the configuration mentioned above, when selecting a first video dynamic-image with respect to a certain pixel, data "1" is written to at a corresponding pixel address of the first key plane memory while data "0" is written into at a corresponding pixel address of the second key plane memory. Conversely, when selecting a second video dynamic-image, data "0" is written into at a corresponding pixel address of the first key plane memory while data "1" is written into at a corresponding pixel address of the second key plane memory. Further, when selecting a static-image with respect to a certain pixel, data "0" is set at a corresponding pixel address of the first key plane memory as well as at a corresponding pixel address of the second key plane memory. In a case where data "1" and data "1" are set, either one of the video dynamic-images is selected depending on the data selector 6's hardware. For example, if a first dynamic-image is partly or entirely obstructed by a second dynamic-image, and if it is required to change an overlap relation between two windows to which these dynamic-images are respectively assigned so as to have the first dynamic-image come in front of the second dynamic-image, this necessitates overwriting each item of data at pixel addresses of the first key plane memory corresponding to the overlapping area, from "O's" to "1's" and each item of data at pixel addresses of the second key plane memory corresponding to the overlapping area, from "1's" to "0's". This overlap control, in which a plurality of key plane memories are subject to being overwritten, presents a serious burden to the CPU 11.